SRE для клиентов

Дмитрий Масленников, «Т-Банк»

Терминология

  • Client — приложение (Web, Mobile, Desktop), которое мы используем для доступа
  • Frontend — бекенд, который получает запросы от Client
  • Backend — общее название всех микросервисов

Ограничения клиентов

  • Web
    • Нестабильная связь
    • Ограничения браузера
  • Native Mobile
    • Нестабильная связь
    • Необходимость экономить батарейку
    • Ограничения ОС
    • Сложности с обновлениями

Идемпотентность

Идемпотентность для клиентского API важнее, чем для внутри датацентрового

Совместимость по API надо держать годами

Возможность общения с пользователем во время сбоев

Feature-toggles удаленно

Возможность удаленной очистки/переписывания кешей

Тестирование на сотрудниках

Перенос логики на бекенд — BFF

Тестирование работы при получении ошибок от бекенда

Умение блокировать часть траффика

Про конфигурирование приложений

Конфигурирование так же опасно, как и релиз!
Избегайте глобальных изменений в конфигурациях
На конфиги можно писать тесты

Долгосрочное планирование и ресемплинг метрик

Спасибо!

Вопросы?